package com.yyge.service;

import com.yyge.vo.R;

public interface Service<T> {
    /**
     * 业务逻辑层调用数据访问层的insert方法时，必须提供一个泛型的对象
     * @param t
     * @return 返回数据库受影响的行数
     */
    R insert(T t);

    /**
     * 根据主键删除数据
     * @param key 主键
     * @return 返回数据库受影响的行数
     */
    R deleteByPrimaryKey(Integer key);

    /**
     * 根据主键修改数据
     * @param t 修改后的对象，其中包含了不能修改的主键
     * @return
     */
    R updateByPrimaryKey(T t);

    /**
     * 根据主键查询，返回用户数据的对象
     * @param key 主键
     * @return
     */
    R selectByPrimaryKey(Integer key);
}
